package com.mq.mqserver.core;

import java.io.Serializable;

/*
*
*保存message中的一些重要属性
*/
public class BasicProperties implements Serializable {
    //消息的唯一身份标识，为保证唯一性，使用uuid作为message的id
    //编程中用来生成唯一id算法
    private String messageId;
    //是一个消息上带的内容，和bindingKey对应
    //如果当前交换机类型是 DIRECT ,此时 rountingKey 就是标识要转发的队列名
    //如果当前交换机类型是 FUNOUT ,此时 rountingKey 无意义（不使用）
    //如果当前交换机类型是 TOPIC ,此时 rountingKey 就要和bindingKey匹配，符合要求的才能转发给对应的队列
    private String rountingKey;
    //这个属性表示信息是否要持久化，1表示不持久化，2表示持久化
    //可以使用枚举表示，但是rabbitMQ是1，2表示的
    private int deliverMode = 1;

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public String getRountingKey() {
        return rountingKey;
    }

    public void setRountingKey(String rountingKey) {
        this.rountingKey = rountingKey;
    }

    public int getDeliverMode() {
        return deliverMode;
    }

    public void setDeliverMode(int deliverMode) {
        this.deliverMode = deliverMode;
    }
}
